Web-based image services and applications (e.g., image searching on the web) enrich each user's experience. Web applications distinguish themselves through the richness of their features, and many use thumbnail images (“thumbnails”) to present a collection of images on the limited physical area of a display screen. Thumbnail images are small, icon-size versions of a larger original image and are one of the most common components of web-based image searching applications, allowing users visual control over a large number of images that visible on one page. One main value of thumbnails is that the user can select a thumbnail in order to see the corresponding original image at a larger resolution. In many cases, however, there is an undesirable delay while the image data of the larger resolution version downloads over a network, such as the Internet.
There are several conventional ways to improve the performance of enlarging a thumbnail at the client side. A straightforward solution is to redirect the user to the web server that is hosting the original image or to deliver a larger version to the client through a background channel. In either case, this inevitably taxes the bandwidth and may increase latency. Another intuitive solution is to directly enlarge the thumbnail image itself at the client side. Specifically, there are a number of traditional image interpolation methods that can be applied, e.g., bilinear and bi-cubic interpolation methods. However, these methods usually blur the discontinuities, sacrificing visual quality.